379 virtual void Step(
void);
490 double MaxRate = 0.0;
491 if (a_grain > MaxRate) {
495 else if (a_maize > MaxRate) {
499 else if (a_grass > MaxRate) {
508 MaxRate *= a_interferenceComp;
537 double MaxRate = 0.0;
538 if (a_grain > MaxRate) {
541 if (a_maize > MaxRate) {
544 if (a_grass > MaxRate) {
652 void On_Bang(
int a_polyid,
double a_scare );
667 void FlyTo(
int a_x,
int a_y );
GooseSpeciesType
Definition: Goose_Base.h:59
@ gst_GreylagFamilyGroup
Definition: Goose_Base.h:64
@ gst_BarnacleFamilyGroup
Definition: Goose_Base.h:62
@ gst_GreylagNonBreeder
Definition: Goose_Base.h:65
@ gst_PinkfootFamilyGroup
Definition: Goose_Base.h:60
@ gst_foobar
Definition: Goose_Base.h:66
@ gst_PinkfootNonBreeder
Definition: Goose_Base.h:61
@ gst_BarnacleNonBreeder
Definition: Goose_Base.h:63
TTypeOfGoose_BaseState
Definition: Goose_Base.h:75
@ togs_Roost
Definition: Goose_Base.h:80
@ togs_InitialState
Definition: Goose_Base.h:76
@ togs_ChooseForageLocation
Definition: Goose_Base.h:77
@ togs_Forage
Definition: Goose_Base.h:78
@ togs_ToRoost
Definition: Goose_Base.h:79
@ togs_foobar
Definition: Goose_Base.h:83
@ togs_Die
Definition: Goose_Base.h:81
@ togs_Emigrate
Definition: Goose_Base.h:82
TTypeOfMaxIntakeSource
Definition: Goose_Base.h:91
@ tomis_grass
Definition: Goose_Base.h:92
@ tomis_foobar
Definition: Goose_Base.h:96
@ tomis_sowncrop
Definition: Goose_Base.h:93
@ tomis_maize
Definition: Goose_Base.h:94
@ tomis_grain
Definition: Goose_Base.h:95
TTypeOfLeaveReason
Definition: Goose_Base.h:103
@ tolr_leanweight
Definition: Goose_Base.h:106
@ tolr_foobar
Definition: Goose_Base.h:107
@ tolr_bodycondition
Definition: Goose_Base.h:105
@ tolr_migration
Definition: Goose_Base.h:104
A simple class defining an x,y coordinate set.
Definition: ALMaSS_Setup.h:53
A class to describe the goose base.
Definition: Goose_Base.h:132
double m_Indivmingooseforagerate
The minimum tolerable forage rate in kJ/minute for the individual.
Definition: Goose_Base.h:231
int m_forageLocCount
The number of forage locations visited today.
Definition: Goose_Base.h:183
void SetFlightCost(double a_cost)
Set the flight cost per m per g.
Definition: Goose_Base.h:564
unsigned m_BodyConditionCounter
A counter for the daily body condition.
Definition: Goose_Base.h:287
TTypeOfGoose_BaseState st_ChooseForageLocation(void)
Selects a forage location based on past memory, or initiates an exploration.
Definition: Goose_Base.cpp:258
virtual void Step(void)
The Step is the second 'part' of the timestep that an animal can behave in. It is called continuously...
Definition: Goose_Base.cpp:244
double GetBodyCondition()
Returns the current body condition.
Definition: Goose_Base.h:394
void AddBodyCondition(double a_condition)
Alters body conditon by addition of a double value.
Definition: Goose_Base.h:402
GooseMemoryMap * m_MyMemory
The Goose Memory.
Definition: Goose_Base.h:299
int m_myMemPolyID
Temporary storage for a memory location polygon id.
Definition: Goose_Base.h:295
double GetDailyEnergyBudget()
Returns the daily energy budget.
Definition: Goose_Base.h:450
int GetFlightNumber()
Returns the total daily number of flights.
Definition: Goose_Base.h:438
static double m_GooseForageDistX2[gs_foobar]
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this...
Definition: Goose_Base.h:243
int GetForageLocIndex()
Gets for the forage location index.
Definition: Goose_Base.h:418
virtual void StartDay(void)
Do any 'housekeeping' associated with the start of day.
Definition: Goose_Base.cpp:181
void Init(Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost)
Intitialise object.
Definition: Goose_Base.cpp:111
virtual void BeginStep(void)
The BeginStep is the first 'part' of the timestep that an animal can behave in. It is called once per...
Definition: Goose_Base.h:375
int GetMaxAppetiteHitTime()
Returns m_DailyMaxAppetiteHitTime.
Definition: Goose_Base.h:432
GooseSpeciesType m_myGooseSpeciesType
Holds the goose species type.
Definition: Goose_Base.h:163
static double m_GooseMaxAppetiteScaler
Scaler to determine the max kJ possible to eat per day based on non-energy reserve weight.
Definition: Goose_Base.h:259
static double m_SnowDepth
The current snow depth. Held here for speed optimization.
Definition: Goose_Base.h:199
TTypeOfGoose_BaseState CurrentGState
Variable to record current behavioural state.
Definition: Goose_Base.h:147
static double m_GooseKJtoFatConversion
Conversion rate kJ to fat.
Definition: Goose_Base.h:267
void Set_GooseMaxAppetiteScaler(double a_cost)
Set the goose appetite scale used to calculate max intake for all geese.
Definition: Goose_Base.h:588
double GetRoostLeaveTime()
Returns the time when the goose leaves the roost.
Definition: Goose_Base.h:560
static double m_GooseFieldForageDist[gs_foobar]
The maximum distance travelled from roost to forage sites for each species of goose (m)
Definition: Goose_Base.h:247
double ScaleForageToGroupsize(double a_forage)
Scales forage to groupsize.
Definition: Goose_Base.h:414
bool GetSex()
Returns the sex.
Definition: Goose_Base.h:428
void Set_GooseFollowingLikelyhood(int a_likelyhood, GooseSpeciesType a_speciestype)
Set the followinglikelyhood.
Definition: Goose_Base.h:634
int GetFlightDistance()
Returns the total daily distance flown.
Definition: Goose_Base.h:444
APoint GetRoost()
Supply roost coords.
Definition: Goose_Base.h:345
void On_Migrate(TTypeOfLeaveReason a_leavereason)
The goose is told to leave the simulation area (poss due to bad weather)
Definition: Goose_Base.cpp:722
int m_FlightNumber
Counter for the number of flights per day.
Definition: Goose_Base.h:307
static int m_followinglikelyhood[(int) gst_foobar]
An attribute used to determine the chance of following or exploring when foraging.
Definition: Goose_Base.h:303
double m_energyReserve
The bird's energy reserves in grams.
Definition: Goose_Base.h:223
virtual TTypeOfGoose_BaseState st_ToRoost()
Return to roost and assess whether to forage again that day.
Definition: Goose_Base.cpp:544
double m_BMR
The daily BMR.
Definition: Goose_Base.h:187
virtual void EndStep(void)
The EndStep is the third 'part' of the timestep that an animal can behave in. It is called once per t...
Definition: Goose_Base.h:383
void On_MoveTo(int a_x, int a_y)
The goose is moved to the location specified by a_x, a_y - caused by group decision.
Definition: Goose_Base.h:640
double m_BodyCondition[5]
A variable describing current body condition over the past 5 days.
Definition: Goose_Base.h:279
virtual APoint ChooseHopLoc()
Pick a hop location point within a_dist meters - must be overridden by descendent classes.
Definition: Goose_Base.h:363
double GetMaxForageRate(double a_grain, double a_maize, double a_grass, double a_interferenceComp, bool a_iscereal, TTypesOfVegetation a_veg, bool a_stubble, TTypesOfVegetation a_prevcrop)
Returns the max forage rate of the three different types of forage The max rate is adjusted according...
Definition: Goose_Base.h:489
void SubtractBodyCondition(double a_condition)
Alters body conditon by subtraction of a double value.
Definition: Goose_Base.h:406
int GetGroupsize()
Returns the groupsize.
Definition: Goose_Base.h:410
void Set_GooseFieldForageDist(double sp1, double sp2, double sp3)
Set the max forage distance from a field for all geese.
Definition: Goose_Base.h:622
TMaxIntakeSource m_MaxIntakeSource
Holds information about the food source which gave max intake rate.
Definition: Goose_Base.h:211
void Set_GooseLeavingRoost(bool a_leaving)
Set the flag to indicate if we are coming from the roost.
Definition: Goose_Base.h:636
int GetForagingTime(int a_EndForagingTime, double a_RoostLeaveTime)
Returns the time spent foraging.
Definition: Goose_Base.cpp:738
void Set_GooseMaxEnergyReserveProportion(double a_prop)
Set the maximum energy reserve proportion allowed for all geese.
Definition: Goose_Base.h:592
double m_TheBodyCondition
A variable describing current body condition averaged over 5 days.
Definition: Goose_Base.h:283
GooseSpecies GetSpecies()
Returns the species.
Definition: Goose_Base.h:422
void Set_Indivmingooseforagerate(double a_cost)
Set the mimimum tolerated forage rate for the individual goose.
Definition: Goose_Base.h:578
void Set_GooseKJtoFatConversion(double a_cost)
Set the kJ to fat conversion constant for all geese.
Definition: Goose_Base.h:596
GooseSpecies m_myspecies
Holds goose species.
Definition: Goose_Base.h:159
void Set_GooseLeavingThreshold(double a_threshold)
Set the body condition threshold for leaving for all geese.
Definition: Goose_Base.h:584
static double m_mingooseforagerate[gs_foobar]
The minimum tolerable forage rate in kJ/minute for the species.
Definition: Goose_Base.h:235
static double m_GooseFieldForageDistX2[gs_foobar]
Double the maximum distance travelled from roost to forage sites for each species of goose (m) - this...
Definition: Goose_Base.h:251
void Set_GooseMinForageOpenness(double a_cost)
Set the min forage openess for all geese.
Definition: Goose_Base.h:604
void FlyTo(int a_x, int a_y)
The goose flys to the location specified by a_x, a_y.
Definition: Goose_Base.cpp:409
double GetDailyEnergyExpenditure()
Returns the daily energy expenditure.
Definition: Goose_Base.h:456
double m_weightTotal
The weight of the bird in g including fat reserve.
Definition: Goose_Base.h:179
void st_Dying(void)
Behavioural state dying.
Definition: Goose_Base.cpp:251
void Explore()
Behavioural exploration of the area to find forage.
Definition: Goose_Base.cpp:571
TTypeOfGoose_BaseState st_Forage()
Behavioural forage.
Definition: Goose_Base.cpp:433
void SetSex(bool a_sex)
Sets the sex.
Definition: Goose_Base.h:552
APoint m_MyRoost
The current roost location.
Definition: Goose_Base.h:167
double m_energyToday
The bird's daily energy account (kJ)
Definition: Goose_Base.h:207
double m_weight
The weight of the bird in gram excluding fat reserve.
Definition: Goose_Base.h:175
void SetBodyCondition(double a_condition, unsigned a_index)
Sets the current body condition.
Definition: Goose_Base.h:398
Goose_Base(Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost)
Goose_Base constructor.
Definition: Goose_Base.cpp:163
double AdjustIntakeRateToSnowDepth(double a_intakerate)
When there is snow, the intake rate is decreased by 10 % per cm of snow.
Definition: Goose_Base.cpp:730
int m_FlightDistance
Storage for the total distance flown per day.
Definition: Goose_Base.h:311
void EvaluateForageToHopLoc(APoint a_HopLoc)
Do a forage evaluation from current location to a_HopLoc.
Definition: Goose_Base.cpp:593
static double m_flightcost
The cost of flight per g per m in kJ.
Definition: Goose_Base.h:227
static double m_GooseMinForageOpenness
The minimum openness value a goose will tolerate for forage.
Definition: Goose_Base.h:275
bool m_LeavingRoost
Flag to indicate that we are coming from the roost. Used to control code for "following".
Definition: Goose_Base.h:219
void ReInit(Landscape *p_L, Goose_Population_Manager *p_NPM, double a_weight, bool a_sex, APoint a_roost)
ReInit for object pool.
Definition: Goose_Base.cpp:168
void Set_mingooseforagerate(double a_cost, GooseSpecies a_species)
Set the mimimum tolerated forage rate for all geese.
Definition: Goose_Base.h:574
static double m_GooseForageDist[gs_foobar]
The maximum distance travelled from roost to forage sites for each species of goose (m)
Definition: Goose_Base.h:239
static double m_GooseMaxEnergyReserveProportion
Max proportion of weight that can be energy reserve.
Definition: Goose_Base.h:263
virtual ~Goose_Base()
Goose_Base destructor.
Definition: Goose_Base.cpp:176
int m_DailyMaxAppetiteHitTime
The time of day when m_DailyMaxAppetite was hit.
Definition: Goose_Base.h:203
virtual void KillThis()
The bird is dead of some external cause.
Definition: Goose_Base.cpp:703
double GetFlightCost()
Get the flight costs per m per g.
Definition: Goose_Base.h:568
double GetGooseMinForageRate(GooseSpecies a_species)
Returns the minimum forage rate for the species.
Definition: Goose_Base.h:471
TTypeOfGoose_BaseState st_Roost()
Roosting until next forage or next morning.
Definition: Goose_Base.cpp:550
double m_DEB
The daily energy budget excluding flying (kJ)
Definition: Goose_Base.h:191
static double m_GooseFattoKJConversion
Conversion rate fat to kJ.
Definition: Goose_Base.h:271
int m_myForageIndex
Temporary storage for a forage location index - this is a speed optimisation.
Definition: Goose_Base.h:291
bool m_sex
Sex of bird, true = male false = female.
Definition: Goose_Base.h:155
double GetTotalWeight()
Returns the weight of the bird.
Definition: Goose_Base.h:558
virtual void ChangeRoost()
Find the closest roost.
Definition: Goose_Base.h:355
void On_Bang(int a_polyid)
The goose is scared by a bang at location.
Definition: Goose_Base.cpp:638
void Set_GooseFattoKJConversion(double a_cost)
Set the fat to kJ conversion constant for all geese.
Definition: Goose_Base.h:600
static double m_GooseLeavingThreshold
The trigger for leaving as a 5 day average of body condition.
Definition: Goose_Base.h:255
TMaxIntakeSource GetMaxIntakeSource()
Supply the current max intake source.
Definition: Goose_Base.h:349
Goose_Population_Manager * m_OurPopulationManager
This is a time saving pointer to the correct population manager object.
Definition: Goose_Base.h:151
void Set_GooseForageDist(double sp1, double sp2, double sp3)
Set the max forage distance from roost for all geese.
Definition: Goose_Base.h:608
double GetMaxIntakeRate(double a_grain, double a_maize, double a_grass)
Returns the max intake rate of the three different types of intake.
Definition: Goose_Base.h:536
int m_groupsize
The size of the group this bird represents.
Definition: Goose_Base.h:171
double m_LeaveRoostTime
Controls the time when the goose will leave the roost.
Definition: Goose_Base.h:215
double m_DailyMaxAppetite
The daily max kJ possible to get as intake.
Definition: Goose_Base.h:195
virtual void On_Emigrate()
Cause the bird to immediately transition to Emigrate.
Definition: Goose_Base.h:387
The class to handle all goose population related matters.
Definition: Goose_Population_Manager.h:393
The class describing both local and seasonal goose memories and cognition.
Definition: GooseMemoryMap.h:94
The landscape class containing all environmental and topographical data.
Definition: landscape.h:113
The base class for all ALMaSS animal classes.
Definition: PopulationManager.h:205
Definition: Goose_Base.h:114
bool m_iscereal
Flag for whether the intake source is a cereal.
Definition: Goose_Base.h:119
bool m_instubble
Flag to indicate if the intake source was in stubble.
Definition: Goose_Base.h:123
TTypeOfMaxIntakeSource m_maxintakesource
The intake source which gave the maximum intake.
Definition: Goose_Base.h:117
TTypesOfVegetation m_veg
The vegetation type.
Definition: Goose_Base.h:121
TTypesOfVegetation m_prevsowncrop
The previous sown crop on the forage location.
Definition: Goose_Base.h:125
TTypesOfVegetation
Definition: tov_declaration.h:30